package Controlador;


import java.awt.Color;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


import Vista.VistaJuego;
import Vista.VistaMenu;



public class ControladorMenu implements ActionListener {

	
	private VistaJuego vistajuego;
	private VistaMenu vistamenu;
	int fils;
	int cols;
	int totalminas;
	
	//Constructor del ControladorMenu y llamada de la VistasMenu
	public ControladorMenu() {
		super();
		this.vistamenu = new VistaMenu();
		this.vistamenu.setLocationRelativeTo(null);
		this.vistamenu.setVisible(true);	
		this.vistamenu.addListener(this);		
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		String actionCommand = e.getActionCommand();
	
		if (actionCommand.equals("Basico")) {
		cols=10;
		fils=10;
		totalminas=10;
		String nivel="Basico";
	    new ControladorJuego(fils,cols,totalminas,nivel);
			
		}	
	
		else if (actionCommand.equals("Intermedio")) {
		
			cols=16;
			fils=16;
			totalminas=40;
			String nivel="Intermedio";
			new ControladorJuego(fils,cols,totalminas,nivel);
			   	}
		else if (actionCommand.equals("Avanzado")) {
		
			 cols=22;
			 fils=22;
			 totalminas=100;
			 String nivel="Avanzado";
				new ControladorJuego(fils,cols,totalminas,nivel);
				
		
		}
		else if (actionCommand.equals("Personalizado")){
			
			vistamenu.btnayuda.setVisible(false);
			vistamenu.lblopciones.setVisible(false);
			vistamenu.btnestadistica.setVisible(false);
			vistamenu.lblcolumnas.setVisible(true);
			vistamenu.txtcolumnas.setVisible(true);
			vistamenu.lblfilas.setVisible(true);
			vistamenu.txtfilas.setVisible(true);
			vistamenu.lblminas.setVisible(true);
			vistamenu.txtminas.setVisible(true);
			vistamenu.btncancelar.setVisible(true);
			vistamenu.btnaceptar.setVisible(true);
			
		}
          else if (actionCommand.equals("Estadisticas")){
        	  vistamenu.jLabelestadistica.setVisible(true);
        	  vistamenu.btnbasico.setVisible(true);
        	  vistamenu.btnintermedio.setVisible(true);
        	  vistamenu.btnAvanzado.setVisible(true);
        	  vistamenu.lblniveles.setVisible(false);
        	  vistamenu.lblopciones.setVisible(false);
        	  vistamenu.btnayuda.setVisible(false);
        	  vistamenu.btnBasico.setVisible(false);
        	  vistamenu.btnmedio.setVisible(false);
        	  vistamenu.btnavanzado.setVisible(false);
        	  vistamenu.btnestadistica.setVisible(false);
        	  vistamenu.lblpersonalizar.setVisible(false);
        	  vistamenu.btnpersonalizado.setVisible(false);
	          vistamenu.btnatras.setVisible(true);
			
		} 
          else if (actionCommand.equals("Atras")){
        	vistamenu.dispose();
        	new ControladorMenu();
		}else if (actionCommand.equals("Nivel Basico")){
			
			String lis="Basico";
			
	     new CotroladorVentanaListadoJugadores(lis);
	     
		} else if (actionCommand.equals("Nivel Intermedio")){
			String lis="Intermedio";
				
			   new CotroladorVentanaListadoJugadores(lis);   
			
		}
		 else if (actionCommand.equals("Nivel Avanzado")){
			 String lis="Avanzado";
					
			   new CotroladorVentanaListadoJugadores(lis);
				
			}
			else if(actionCommand.equals("Cancelar")){
				
				
				vistamenu.lblopciones.setVisible(true);
				vistamenu.btnayuda.setVisible(true);
				vistamenu.btnestadistica.setVisible(true);
				vistamenu.lblcolumnas.setVisible(false);
				vistamenu.txtcolumnas.setVisible(false);
				vistamenu.lblfilas.setVisible(false);
				vistamenu.txtfilas.setVisible(false);
				vistamenu.lblminas.setVisible(false);
				vistamenu.txtminas.setVisible(false);
				vistamenu.btncancelar.setVisible(false);
				vistamenu.btnaceptar.setVisible(false);
				}
		
		
	
		else if (actionCommand.equals("Aceptar"))  
		{	
			int fils=Integer.parseInt(vistamenu.getTxtfilas());
			int cols=Integer.parseInt(vistamenu.getTxtcolumnas());
			int totalminas = Integer.parseInt(vistamenu.getTxtminas());
	
			if(totalminas<cols*fils)
			{
				String nivel="Personalizado";
				vistamenu.btnayuda.setVisible(false);
				vistamenu.lblopciones.setVisible(false);
				vistamenu.btnestadistica.setVisible(false);
				vistamenu.lblcolumnas.setVisible(true);
				vistamenu.txtcolumnas.setVisible(true);
				vistamenu.lblfilas.setVisible(true);
				vistamenu.txtfilas.setVisible(true);
				vistamenu.lblminas.setVisible(true);
				vistamenu.txtminas.setVisible(true);
				vistamenu.btncancelar.setVisible(true);
				vistamenu.btnaceptar.setVisible(true);
				new ControladorJuego(fils,cols,totalminas,nivel);
			
			}
			else
			{
				JOptionPane.showMessageDialog(null,0,"El Numero de Minas es Mayor que el numero de casillas",0);
			}
		}
		else if(actionCommand.equals("Salir"))
		{	
		this.vistamenu.dispose();
		}
};
}

